//  调用云数据库的引用
const db = wx.cloud.database()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    value:'',
    // 存放图片and文本的部分
    items:[],
    // 存放word的 部分
    worditems:[],
    // 数据的总条数
    totalNum:-1,
    wordtotalNum:-1,
    // 接受前一个页面的引索
    index:""
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    console.log("传过来的引索",options.index)
    this.setData({
      index: options.index
    })
    
    this.setData({
      totalNum: -1,
      wordtotalNum:-1
    })
   this.getDataList()
  },


  // 数据加载的函数
  getDataList() {
          console.log("调用获取信息的函数")
    let len = this.data.items.length  //获取目前的 items:[]长度 ，图片的长度
    let wlen = this.data.worditems.length  //获取目前 worditems:[]的长度，word的长度
          if (this.data.totalNum + this.data.wordtotalNum == len+wlen) {
            wx.showToast({
              title: '人家已经到底啦！',
            })
            return
          }else{
           wx.showLoading({
            title: '疯狂加载中…',
            mask: true,
          })
          console.log("items和worditems的总长度", len)
            db.collection('book').where({ sort1: this.data.index }).skip(len).limit(5).orderBy('name', 'asc').get()  //从第len条数
              .then(res => {
                console.log("获取成功", res)
                this.setData({
                  items: this.data.items.concat(res.data)
                })
                console.log("获取并赋值成功", this.data.items)
                // wx.hideLoading()
              })
              .catch(err => {
                console.log("获取失败", err)
                wx.hideLoading()
                wx.showToast({
                  title: '获取失败，请返回重试',
                  icon: 'none',
                  mask: true
                })
              })
            // wrod
            db.collection('book1').where({ sort1: this.data.index }).skip(wlen).limit(5).orderBy('name', 'asc').get()
              .then(res => {
                console.log("获取成功", res)
                this.setData({
                  worditems: this.data.worditems.concat(res.data)
                })
                wx.hideLoading()
                console.log("获取并赋值成功", this.data.worditems)
              })
              .catch(err => {
                console.log("获取失败", err)
                wx.hideLoading()
                wx.showToast({
                  title: '获取失败，请返回重试',
                  icon: 'none',
                  mask: true
                })
              })
      
            //获取数据的总条数，并付给totalNum
            setTimeout(() => {
              db.collection('book').where({ sort1: this.data.index}).count()
                .then(res => {
                  console.log("数据的总条数", res)
                  this.setData({
                    totalNum: res.total
                  })
                })
                .catch(err=>{
                  console.log("数据的总条数", res)
                  wx.showToast({
                    title: '获取总条数失败，请返回重试',
                    icon: 'none',
                    mask: true
                  })
                })
            })
              //获取数据的总条数，并付给wordtotalNum
            setTimeout(() => {
              db.collection('book1').where({ sort1: this.data.index }).count()
                .then(res => {
                  console.log("数据的总条数word", res)
                  this.setData({
                    wordtotalNum: res.total
                  })
                })
                .catch(err => {
                  console.log("数据的总条数", res)
                  wx.showToast({
                    title: '获取总条数失败，请返回重试',
                    icon: 'none',
                    mask: true
                  })
                })
            })
      
          }
  },      





// 搜索模块
  onChange(e) {
    // this.setData({
    //   value: e.detail
    // });
    // console.log(this.data.value)
  },
// 键盘点击确定触发
  onSearch(e) {
    wx.showLoading({
      title: '疯狂加载中…',
      mask: true,
    })

    console.log('搜索' + this.data.value);
    console.log(e.detail)

    db.collection("book").where({name: {$regex: '.*' + e.detail,$options: 'i'} }).get()
      .then(res =>{
        console.log("搜索成功", res)
        this.setData({
          items: res.data
        })
        console.log("获取并赋值成功", this.data.items)
        // wx.hideLoading()
      })
      .catch(err => {
        console.log("搜索失败", err)
        wx.hideLoading()
        wx.showToast({
          title: '搜索失败，请重试',
          icon: 'none',
          duration: 1500,
          mask: true
        })
      })
    db.collection("book1").where({ name: { $regex: '.*' + e.detail, $options: 'i' } }).get()
      .then(res => {
        console.log("搜索成功", res)
        this.setData({
          worditems: res.data
        })
        console.log("获取并赋值成功", this.data.worditems)
        wx.hideLoading()
      })
      .catch(err => {
        console.log("搜索失败", err)
        wx.hideLoading()
        wx.showToast({
          title: '搜索失败，请重试',
          icon: 'none',
          duration: 1500,
          mask: true
        })
      })
  },
  // 点击右边“取消”触发
  onClick() {
    console.log('取消' + this.data.value);
    this.setData({
         value: ""
      });
      // this.l
      this.getDataList()
  },

// 跳转到详情页面
  details: function (e) {
    console.log("点击详情")
    console.log("id=" + e.currentTarget.id)
    var listData = encodeURIComponent(JSON.stringify(this.data.items[e.currentTarget.id])) 
    
    wx.navigateTo({
      url: '/pages/details/details?listData=' + listData,
    })
  },

  // wrod调到详情页面
  wroddetails:function(e){
    console.log("点击word详情")
    console.log("id=" + e.currentTarget.id)
    var listData = encodeURIComponent(JSON.stringify(this.data.worditems[e.currentTarget.id]))

    wx.navigateTo({
      url: '/pages/word_details/word_details?listData=' + listData,
    })
  },


  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
  //   console.log("进入list页面，重新获取数据")
  //   this.setData({
  //     totalNum: -1,
  //     wordtotalNum:-1
  //   })
  //  this.getDataList()

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    
  
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    console.log("上拉加载更多")
      this.getDataList()
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})